using System.IO;

using lucere.index.write;

namespace lucere.index.inversion
{
    public interface IInvertedDocumentConsumerPerThread
    {
        /// <summary>
        /// </summary>
        /// <exception cref="IOException"></exception>
        void StartDocument();

        IInvertedDocumentConsumerPerField AddField(IDocumentInverterPerField docInverterPerField, IFieldInfo fieldInfo);

        /// <summary>
        /// </summary>
        /// <returns></returns>
        /// <exception cref="IOException"></exception>
        IDocumentWriter FinishDocument();

        void Abort();
    }
}